﻿using System.Collections.Generic;

namespace Nop.Core.Domain.WindAlert
{
    public enum AlertOption
    {
        WindAlert = 10,
        WaveAlert = 20,
        Forecast = 30,
        CustomerFollow = 40,
    }
    /// <summary>
    /// Represents a spot
    /// </summary>
    public partial class SpotsGroup : BaseEntity
    {
        private ICollection<Spot> _spots;
        private ICollection<Alert> _spotsGroupCustomers;
        /// <summary>
        /// Gets or sets the name
        /// </summary>
        public virtual string Name { get; set; }

        /// <summary>
        /// Gets or sets a display oreder
        /// </summary>
        public virtual int DisplayOrder { get; set; }

        /// <summary>
        /// Gets or setsthe published
        /// </summary>
        public virtual bool Published { get; set; }

        public int AlertOptionId { get; set; }

        /// <summary>
        /// Gets or sets the theme type
        /// </summary>
        public AlertOption AlertOption
        {
            get
            {
                return (AlertOption)this.AlertOptionId;
            }
            set
            {
                this.AlertOptionId = (int)value;
            }
        }

        /// <summary>
        /// Gets or setsthe last reported wind speed 
        /// </summary>
        public virtual int LastReportedWindSpeed { get; set; }

        /// <summary>
        /// Gets or setsthe last reported wave
        /// </summary>
        public virtual double LastReportedWave { get; set; }

        public virtual ICollection<Spot> Spots
        {
            get { return _spots ?? (_spots = new List<Spot>()); }
            protected set { _spots = value; }
        }

        /// <summary>
        /// Gets or sets the collection of ProductCategory
        /// </summary>
        public virtual ICollection<Alert> spotsGroupCustomers
        {
            get { return _spotsGroupCustomers ?? (_spotsGroupCustomers = new List<Alert>()); }
            protected set { _spotsGroupCustomers = value; }
        }

    }
}
